<?php
/**
 * Created by PhpStorm.
 * User: zhangyi
 * Date: 17/3/12
 * Time: 下午8:49
 */
namespace backend\components;

use Yii;

class Sms
{
    private static $sn = 'SDK-WSS-010-10409';//账号
    private static $password = '^-8^7e-4^90';//密码
    private static $url = 'http://sdk.entinfo.cn:8061/webservice.asmx/mdsmssend';

    public static function send($mobile,$content)
    {
	    file_put_contents(Yii::getAlias('@webroot/request_log.txt'),$mobile.$content."\n",FILE_APPEND);
        $pwd= strtoupper(md5(self::$sn . self::$password));
        $data = array(
            'sn' => self::$sn, //提供的账号
            'pwd' =>$pwd, //此处密码需要加密 加密方式为 md5(sn+password) 32位大写
            'mobile' => $mobile, //手机号 多个用英文的逗号隔开 post理论没有长度限制.推荐群发一次小于等于10000个手机号
            'content' =>htmlspecialchars($content.'【华尔街金融】'), //短信内容
            //htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。
            'ext' => '',
            'stime' => '', //定时时间 格式为2011-6-29 11:09:21
            'rrid' => '',//默认空 如果空返回系统生成的标识串 如果传值保证值唯一 成功则返回传入的值
            'msgfmt'=>''
        );


        $retult=self::api_notice_increment(self::$url,$data);


        $retult=str_replace("<?xml version=\"1.0\" encoding=\"utf-8\"?>","",$retult);
        $retult=str_replace("<string xmlns=\"http://tempuri.org/\">","",$retult);
        $retult=str_replace("</string>","",$retult);
        self::log($retult);
        if($retult>0)
            self::log('发送失败返回值为:'.$retult);
        else
            self::log('发送成功 返回值为:'.$retult);
    }

    private static function api_notice_increment($url,$data)
    {
        $curl = curl_init(); // 启动一个CURL会话

        curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址


        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查

//        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在

        curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
        curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
        curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求

        $data = http_build_query($data);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
        curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
        curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
//        echo 11;die;
        $lst = curl_exec($curl);
        if (curl_errno($curl)) {
            self::log('Errno'.curl_error($curl));//捕抓异常
        }
        curl_close($curl);
        return $lst;
    }
    private static function log($str)
    {
        file_put_contents(Yii::getAlias('@webroot/smslog.txt'),$str."\n",FILE_APPEND);
    }
}
